{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pubchempy as pcp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on module pubchempy:\n",
      "\n",
      "NAME\n",
      "    pubchempy - PubChemPy\n",
      "\n",
      "DESCRIPTION\n",
      "    Python interface for the PubChem PUG REST service.\n",
      "    https://github.com/mcs07/PubChemPy\n",
      "\n",
      "CLASSES\n",
      "    builtins.Exception(builtins.BaseException)\n",
      "        PubChemPyError\n",
      "            PubChemHTTPError\n",
      "                BadRequestError\n",
      "                MethodNotAllowedError\n",
      "                NotFoundError\n",
      "                ServerError\n",
      "                TimeoutError\n",
      "                UnimplementedError\n",
      "            ResponseParseError\n",
      "    builtins.Warning(builtins.Exception)\n",
      "        PubChemPyDeprecationWarning\n",
      "    builtins.object\n",
      "        Assay\n",
      "        Atom\n",
      "        Bond\n",
      "        BondType\n",
      "        Compound\n",
      "        CompoundIdType\n",
      "        CoordinateType\n",
      "        ProjectCategory\n",
      "        Substance\n",
      "    \n",
      "    class Assay(builtins.object)\n",
      "     |  Assay(record)\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __eq__(self, other)\n",
      "     |      Return self==value.\n",
      "     |  \n",
      "     |  __init__(self, record)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  __repr__(self)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  to_dict(self, properties=None)\n",
      "     |      Return a dictionary containing Assay data.\n",
      "     |      \n",
      "     |      If the properties parameter is not specified, everything is included.\n",
      "     |      \n",
      "     |      :param properties: (optional) A list of the desired properties.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Class methods defined here:\n",
      "     |  \n",
      "     |  from_aid(aid) from builtins.type\n",
      "     |      Retrieve the Assay record for the specified AID.\n",
      "     |      \n",
      "     |      :param int aid: The PubChem Assay Identifier (AID).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  aid\n",
      "     |      The PubChem Substance Idenfitier (SID).\n",
      "     |  \n",
      "     |  aid_version\n",
      "     |      Incremented when the original depositor updates the record.\n",
      "     |  \n",
      "     |  comments\n",
      "     |      Comments and additional information.\n",
      "     |  \n",
      "     |  description\n",
      "     |      Description\n",
      "     |  \n",
      "     |  name\n",
      "     |      The short assay name, used for display purposes.\n",
      "     |  \n",
      "     |  project_category\n",
      "     |      A category to distinguish projects funded through MLSCN, MLPCN or from literature.\n",
      "     |      \n",
      "     |      Possible values include mlscn, mlpcn, mlscn-ap, mlpcn-ap, literature-extracted, literature-author,\n",
      "     |      literature-publisher, rnaigi.\n",
      "     |  \n",
      "     |  results\n",
      "     |      A list of dictionaries containing details of the results from this Assay.\n",
      "     |  \n",
      "     |  revision\n",
      "     |      Revision identifier for textual description.\n",
      "     |  \n",
      "     |  target\n",
      "     |      A list of dictionaries containing details of the Assay targets.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  __hash__ = None\n",
      "    \n",
      "    class Atom(builtins.object)\n",
      "     |  Atom(aid, number, x=None, y=None, z=None, charge=0)\n",
      "     |  \n",
      "     |  Class to represent an atom in a :class:`~pubchempy.Compound`.\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __contains__(self, prop)\n",
      "     |      Allow dict-style checking of attributes to ease transition from when atoms were dicts.\n",
      "     |  \n",
      "     |  __eq__(self, other)\n",
      "     |      Return self==value.\n",
      "     |  \n",
      "     |  __getitem__(self, prop)\n",
      "     |      Allow dict-style access to attributes to ease transition from when atoms were dicts.\n",
      "     |  \n",
      "     |  __init__(self, aid, number, x=None, y=None, z=None, charge=0)\n",
      "     |      Initialize with an atom ID, atomic number, coordinates and optional change.\n",
      "     |      \n",
      "     |      :param int aid: Atom ID\n",
      "     |      :param int number: Atomic number\n",
      "     |      :param float x: X coordinate.\n",
      "     |      :param float y: Y coordinate.\n",
      "     |      :param float z: (optional) Z coordinate.\n",
      "     |      :param int charge: (optional) Formal charge on atom.\n",
      "     |  \n",
      "     |  __repr__(self)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setitem__(self, prop, val)\n",
      "     |      Allow dict-style setting of attributes to ease transition from when atoms were dicts.\n",
      "     |  \n",
      "     |  set_coordinates(self, x, y, z=None)\n",
      "     |      Set all coordinate dimensions at once.\n",
      "     |  \n",
      "     |  to_dict(self)\n",
      "     |      Return a dictionary containing Atom data.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  coordinate_type\n",
      "     |      Whether this atom has 2D or 3D coordinates.\n",
      "     |  \n",
      "     |  element\n",
      "     |      The element symbol for this atom.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  __hash__ = None\n",
      "    \n",
      "    class BadRequestError(PubChemHTTPError)\n",
      "     |  BadRequestError(msg='Request is improperly formed')\n",
      "     |  \n",
      "     |  Request is improperly formed (syntax error in the URL, POST body, etc.).\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      BadRequestError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='Request is improperly formed')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class Bond(builtins.object)\n",
      "     |  Bond(aid1, aid2, order=1, style=None)\n",
      "     |  \n",
      "     |  Class to represent a bond between two atoms in a :class:`~pubchempy.Compound`.\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __contains__(self, prop)\n",
      "     |      Allow dict-style checking of attributes to ease transition from when bonds were dicts.\n",
      "     |  \n",
      "     |  __delitem__(self, prop)\n",
      "     |      Delete the property prop from the wrapped object.\n",
      "     |  \n",
      "     |  __eq__(self, other)\n",
      "     |      Return self==value.\n",
      "     |  \n",
      "     |  __getitem__(self, prop)\n",
      "     |      Allow dict-style access to attributes to ease transition from when bonds were dicts.\n",
      "     |  \n",
      "     |  __init__(self, aid1, aid2, order=1, style=None)\n",
      "     |      Initialize with begin and end atom IDs, bond order and bond style.\n",
      "     |      \n",
      "     |      :param int aid1: Begin atom ID.\n",
      "     |      :param int aid2: End atom ID.\n",
      "     |      :param int order: Bond order.\n",
      "     |  \n",
      "     |  __repr__(self)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setitem__(self, prop, val)\n",
      "     |      Allow dict-style setting of attributes to ease transition from when bonds were dicts.\n",
      "     |  \n",
      "     |  to_dict(self)\n",
      "     |      Return a dictionary containing Bond data.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  __hash__ = None\n",
      "    \n",
      "    class BondType(builtins.object)\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  COMPLEX = 6\n",
      "     |  \n",
      "     |  DATIVE = 5\n",
      "     |  \n",
      "     |  DOUBLE = 2\n",
      "     |  \n",
      "     |  IONIC = 7\n",
      "     |  \n",
      "     |  QUADRUPLE = 4\n",
      "     |  \n",
      "     |  SINGLE = 1\n",
      "     |  \n",
      "     |  TRIPLE = 3\n",
      "     |  \n",
      "     |  UNKNOWN = 255\n",
      "    \n",
      "    class Compound(builtins.object)\n",
      "     |  Compound(record)\n",
      "     |  \n",
      "     |  Corresponds to a single record from the PubChem Compound database.\n",
      "     |  \n",
      "     |  The PubChem Compound database is constructed from the Substance database using a standardization and deduplication\n",
      "     |  process. Each Compound is uniquely identified by a CID.\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __eq__(self, other)\n",
      "     |      Return self==value.\n",
      "     |  \n",
      "     |  __init__(self, record)\n",
      "     |      Initialize with a record dict from the PubChem PUG REST service.\n",
      "     |      \n",
      "     |      For most users, the ``from_cid()`` class method is probably a better way of creating Compounds.\n",
      "     |      \n",
      "     |      :param dict record: A compound record returned by the PubChem PUG REST service.\n",
      "     |  \n",
      "     |  __repr__(self)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  to_dict(self, properties=None)\n",
      "     |      Return a dictionary containing Compound data. Optionally specify a list of the desired properties.\n",
      "     |      \n",
      "     |      synonyms, aids and sids are not included unless explicitly specified using the properties parameter. This is\n",
      "     |      because they each require an extra request.\n",
      "     |  \n",
      "     |  to_series(self, properties=None)\n",
      "     |      Return a pandas :class:`~pandas.Series` containing Compound data. Optionally specify a list of the desired\n",
      "     |      properties.\n",
      "     |      \n",
      "     |      synonyms, aids and sids are not included unless explicitly specified using the properties parameter. This is\n",
      "     |      because they each require an extra request.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Class methods defined here:\n",
      "     |  \n",
      "     |  from_cid(cid, **kwargs) from builtins.type\n",
      "     |      Retrieve the Compound record for the specified CID.\n",
      "     |      \n",
      "     |      Usage::\n",
      "     |      \n",
      "     |          c = Compound.from_cid(6819)\n",
      "     |      \n",
      "     |      :param int cid: The PubChem Compound Identifier (CID).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  aids\n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  atom_stereo_count\n",
      "     |      Atom stereocenter count.\n",
      "     |  \n",
      "     |  atoms\n",
      "     |      List of :class:`Atoms <pubchempy.Atom>` in this Compound.\n",
      "     |  \n",
      "     |  bond_stereo_count\n",
      "     |      Bond stereocenter count.\n",
      "     |  \n",
      "     |  bonds\n",
      "     |      List of :class:`Bonds <pubchempy.Bond>` between :class:`Atoms <pubchempy.Atom>` in this Compound.\n",
      "     |  \n",
      "     |  cactvs_fingerprint\n",
      "     |      PubChem CACTVS fingerprint.\n",
      "     |      \n",
      "     |      Each bit in the fingerprint represents the presence or absence of one of 881 chemical substructures.\n",
      "     |      \n",
      "     |      More information at ftp://ftp.ncbi.nlm.nih.gov/pubchem/specifications/pubchem_fingerprints.txt\n",
      "     |  \n",
      "     |  canonical_smiles\n",
      "     |      Canonical SMILES, with no stereochemistry information.\n",
      "     |  \n",
      "     |  charge\n",
      "     |      Formal charge on this Compound.\n",
      "     |  \n",
      "     |  cid\n",
      "     |      The PubChem Compound Identifier (CID).\n",
      "     |      \n",
      "     |      .. note::\n",
      "     |      \n",
      "     |          When searching using a SMILES or InChI query that is not present in the PubChem Compound database, an\n",
      "     |          automatically generated record may be returned that contains properties that have been calculated on the\n",
      "     |          fly. These records will not have a CID property.\n",
      "     |  \n",
      "     |  complexity\n",
      "     |      Complexity.\n",
      "     |  \n",
      "     |  conformer_id_3d\n",
      "     |  \n",
      "     |  conformer_rmsd_3d\n",
      "     |  \n",
      "     |  coordinate_type\n",
      "     |  \n",
      "     |  covalent_unit_count\n",
      "     |      Covalently-bonded unit count.\n",
      "     |  \n",
      "     |  defined_atom_stereo_count\n",
      "     |      Defined atom stereocenter count.\n",
      "     |  \n",
      "     |  defined_bond_stereo_count\n",
      "     |      Defined bond stereocenter count.\n",
      "     |  \n",
      "     |  effective_rotor_count_3d\n",
      "     |  \n",
      "     |  elements\n",
      "     |      List of element symbols for atoms in this Compound.\n",
      "     |  \n",
      "     |  exact_mass\n",
      "     |      Exact mass.\n",
      "     |  \n",
      "     |  feature_selfoverlap_3d\n",
      "     |  \n",
      "     |  fingerprint\n",
      "     |      Raw padded and hex-encoded fingerprint, as returned by the PUG REST API.\n",
      "     |  \n",
      "     |  h_bond_acceptor_count\n",
      "     |      Hydrogen bond acceptor count.\n",
      "     |  \n",
      "     |  h_bond_donor_count\n",
      "     |      Hydrogen bond donor count.\n",
      "     |  \n",
      "     |  heavy_atom_count\n",
      "     |      Heavy atom count.\n",
      "     |  \n",
      "     |  inchi\n",
      "     |      InChI string.\n",
      "     |  \n",
      "     |  inchikey\n",
      "     |      InChIKey.\n",
      "     |  \n",
      "     |  isomeric_smiles\n",
      "     |      Isomeric SMILES.\n",
      "     |  \n",
      "     |  isotope_atom_count\n",
      "     |      Isotope atom count.\n",
      "     |  \n",
      "     |  iupac_name\n",
      "     |      Preferred IUPAC name.\n",
      "     |  \n",
      "     |  mmff94_energy_3d\n",
      "     |  \n",
      "     |  mmff94_partial_charges_3d\n",
      "     |  \n",
      "     |  molecular_formula\n",
      "     |      Molecular formula.\n",
      "     |  \n",
      "     |  molecular_weight\n",
      "     |      Molecular Weight.\n",
      "     |  \n",
      "     |  monoisotopic_mass\n",
      "     |      Monoisotopic mass.\n",
      "     |  \n",
      "     |  multipoles_3d\n",
      "     |  \n",
      "     |  pharmacophore_features_3d\n",
      "     |  \n",
      "     |  record\n",
      "     |      The raw compound record returned by the PubChem PUG REST service.\n",
      "     |  \n",
      "     |  rotatable_bond_count\n",
      "     |      Rotatable bond count.\n",
      "     |  \n",
      "     |  shape_fingerprint_3d\n",
      "     |  \n",
      "     |  shape_selfoverlap_3d\n",
      "     |  \n",
      "     |  sids\n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  synonyms\n",
      "     |      A ranked list of all the names associated with this Compound.\n",
      "     |      \n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  tpsa\n",
      "     |      Topological Polar Surface Area.\n",
      "     |  \n",
      "     |  undefined_atom_stereo_count\n",
      "     |      Undefined atom stereocenter count.\n",
      "     |  \n",
      "     |  undefined_bond_stereo_count\n",
      "     |      Undefined bond stereocenter count.\n",
      "     |  \n",
      "     |  volume_3d\n",
      "     |  \n",
      "     |  xlogp\n",
      "     |      XLogP.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  __hash__ = None\n",
      "    \n",
      "    class CompoundIdType(builtins.object)\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  COMPONENT = 2\n",
      "     |  \n",
      "     |  DEPOSITED = 0\n",
      "     |  \n",
      "     |  IONIZED = 6\n",
      "     |  \n",
      "     |  MIXTURE = 4\n",
      "     |  \n",
      "     |  NEUTRALIZED = 3\n",
      "     |  \n",
      "     |  STANDARDIZED = 1\n",
      "     |  \n",
      "     |  TAUTOMER = 5\n",
      "     |  \n",
      "     |  UNKNOWN = 255\n",
      "    \n",
      "    class CoordinateType(builtins.object)\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  ALIGNED = 8\n",
      "     |  \n",
      "     |  AUGMENTED = 7\n",
      "     |  \n",
      "     |  COMPACT = 9\n",
      "     |  \n",
      "     |  COMPUTED = 5\n",
      "     |  \n",
      "     |  EXPERIMENTAL = 4\n",
      "     |  \n",
      "     |  STANDARDIZED = 6\n",
      "     |  \n",
      "     |  SUBMITTED = 3\n",
      "     |  \n",
      "     |  THREE_D = 2\n",
      "     |  \n",
      "     |  TWO_D = 1\n",
      "     |  \n",
      "     |  UNITS_ANGSTROMS = 10\n",
      "     |  \n",
      "     |  UNITS_NANOMETERS = 11\n",
      "     |  \n",
      "     |  UNITS_PIXEL = 12\n",
      "     |  \n",
      "     |  UNITS_POINTS = 13\n",
      "     |  \n",
      "     |  UNITS_STDBONDS = 14\n",
      "     |  \n",
      "     |  UNITS_UNKNOWN = 255\n",
      "    \n",
      "    class MethodNotAllowedError(PubChemHTTPError)\n",
      "     |  MethodNotAllowedError(msg='Request not allowed')\n",
      "     |  \n",
      "     |  Request not allowed (such as invalid MIME type in the HTTP Accept header).\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      MethodNotAllowedError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='Request not allowed')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class NotFoundError(PubChemHTTPError)\n",
      "     |  NotFoundError(msg='The input record was not found')\n",
      "     |  \n",
      "     |  The input record was not found (e.g. invalid CID).\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      NotFoundError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='The input record was not found')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class ProjectCategory(builtins.object)\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  ASSAY_VENDOR = 6\n",
      "     |  \n",
      "     |  JOURNAL_ARTICLE = 5\n",
      "     |  \n",
      "     |  LITERATURE_AUTHOR = 8\n",
      "     |  \n",
      "     |  LITERATURE_EXTRACTED = 7\n",
      "     |  \n",
      "     |  LITERATURE_PUBLISHER = 9\n",
      "     |  \n",
      "     |  MLSCN = 1\n",
      "     |  \n",
      "     |  MLSCN_AP = 3\n",
      "     |  \n",
      "     |  MPLCN = 2\n",
      "     |  \n",
      "     |  MPLCN_AP = 4\n",
      "     |  \n",
      "     |  OTHER = 255\n",
      "     |  \n",
      "     |  RNAIGI = 10\n",
      "    \n",
      "    class PubChemHTTPError(PubChemPyError)\n",
      "     |  PubChemHTTPError(e)\n",
      "     |  \n",
      "     |  Generic error class to handle all HTTP error codes.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, e)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class PubChemPyDeprecationWarning(builtins.Warning)\n",
      "     |  Warning category for deprecated features.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      PubChemPyDeprecationWarning\n",
      "     |      builtins.Warning\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.Warning:\n",
      "     |  \n",
      "     |  __init__(self, /, *args, **kwargs)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Warning:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  __str__(self, /)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class PubChemPyError(builtins.Exception)\n",
      "     |  Base class for all PubChemPy exceptions.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __init__(self, /, *args, **kwargs)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  __str__(self, /)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class ResponseParseError(PubChemPyError)\n",
      "     |  PubChem response is uninterpretable.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      ResponseParseError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __init__(self, /, *args, **kwargs)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  __str__(self, /)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class ServerError(PubChemHTTPError)\n",
      "     |  ServerError(msg='Some problem on the server side')\n",
      "     |  \n",
      "     |  Some problem on the server side (such as a database server down, etc.).\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      ServerError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='Some problem on the server side')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class Substance(builtins.object)\n",
      "     |  Substance(record)\n",
      "     |  \n",
      "     |  Corresponds to a single record from the PubChem Substance database.\n",
      "     |  \n",
      "     |  The PubChem Substance database contains all chemical records deposited in PubChem in their most raw form, before\n",
      "     |  any significant processing is applied. As a result, it contains duplicates, mixtures, and some records that don't\n",
      "     |  make chemical sense. This means that Substance records contain fewer calculated properties, however they do have\n",
      "     |  additional information about the original source that deposited the record.\n",
      "     |  \n",
      "     |  The PubChem Compound database is constructed from the Substance database using a standardization and deduplication\n",
      "     |  process. Hence each Compound may be derived from a number of different Substances.\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __eq__(self, other)\n",
      "     |      Return self==value.\n",
      "     |  \n",
      "     |  __init__(self, record)\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  __repr__(self)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  to_dict(self, properties=None)\n",
      "     |      Return a dictionary containing Substance data.\n",
      "     |      \n",
      "     |      If the properties parameter is not specified, everything except cids and aids is included. This is because the\n",
      "     |      aids and cids properties each require an extra request to retrieve.\n",
      "     |      \n",
      "     |      :param properties: (optional) A list of the desired properties.\n",
      "     |  \n",
      "     |  to_series(self, properties=None)\n",
      "     |      Return a pandas :class:`~pandas.Series` containing Substance data.\n",
      "     |      \n",
      "     |      If the properties parameter is not specified, everything except cids and aids is included. This is because the\n",
      "     |      aids and cids properties each require an extra request to retrieve.\n",
      "     |      \n",
      "     |      :param properties: (optional) A list of the desired properties.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Class methods defined here:\n",
      "     |  \n",
      "     |  from_sid(sid) from builtins.type\n",
      "     |      Retrieve the Substance record for the specified SID.\n",
      "     |      \n",
      "     |      :param int sid: The PubChem Substance Identifier (SID).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors defined here:\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |      dictionary for instance variables (if defined)\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  aids\n",
      "     |      A list of all AIDs for Assays associated with this Substance.\n",
      "     |      \n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  cids\n",
      "     |      A list of all CIDs for Compounds that were produced when this Substance was standardized.\n",
      "     |      \n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  deposited_compound\n",
      "     |      Return a :class:`~pubchempy.Compound` produced from the unstandardized Substance record as deposited.\n",
      "     |      \n",
      "     |      The resulting :class:`~pubchempy.Compound` will not have a ``cid`` and will be missing most properties.\n",
      "     |  \n",
      "     |  sid\n",
      "     |      The PubChem Substance Idenfitier (SID).\n",
      "     |  \n",
      "     |  source_id\n",
      "     |      Unique ID for this Substance within those from the same PubChem depositor source.\n",
      "     |  \n",
      "     |  source_name\n",
      "     |      The name of the PubChem depositor that was the source of this Substance.\n",
      "     |  \n",
      "     |  standardized_cid\n",
      "     |      The CID of the Compound that was produced when this Substance was standardized.\n",
      "     |      \n",
      "     |      May not exist if this Substance was not standardizable.\n",
      "     |  \n",
      "     |  standardized_compound\n",
      "     |      Return the :class:`~pubchempy.Compound` that was produced when this Substance was standardized.\n",
      "     |      \n",
      "     |      Requires an extra request. Result is cached.\n",
      "     |  \n",
      "     |  synonyms\n",
      "     |      A ranked list of all the names associated with this Substance.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data and other attributes defined here:\n",
      "     |  \n",
      "     |  __hash__ = None\n",
      "    \n",
      "    class TimeoutError(PubChemHTTPError)\n",
      "     |  TimeoutError(msg='The request timed out')\n",
      "     |  \n",
      "     |  The request timed out, from server overload or too broad a request.\n",
      "     |  \n",
      "     |  See :ref:`Avoiding TimeoutError <avoiding_timeouterror>` for more information.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      TimeoutError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='The request timed out')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "    \n",
      "    class UnimplementedError(PubChemHTTPError)\n",
      "     |  UnimplementedError(msg='The requested operation has not been implemented')\n",
      "     |  \n",
      "     |  The requested operation has not (yet) been implemented by the server.\n",
      "     |  \n",
      "     |  Method resolution order:\n",
      "     |      UnimplementedError\n",
      "     |      PubChemHTTPError\n",
      "     |      PubChemPyError\n",
      "     |      builtins.Exception\n",
      "     |      builtins.BaseException\n",
      "     |      builtins.object\n",
      "     |  \n",
      "     |  Methods defined here:\n",
      "     |  \n",
      "     |  __init__(self, msg='The requested operation has not been implemented')\n",
      "     |      Initialize self.  See help(type(self)) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from PubChemHTTPError:\n",
      "     |  \n",
      "     |  __str__(self)\n",
      "     |      Return str(self).\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from PubChemPyError:\n",
      "     |  \n",
      "     |  __weakref__\n",
      "     |      list of weak references to the object (if defined)\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Static methods inherited from builtins.Exception:\n",
      "     |  \n",
      "     |  __new__(*args, **kwargs) from builtins.type\n",
      "     |      Create and return a new object.  See help(type) for accurate signature.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Methods inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __delattr__(self, name, /)\n",
      "     |      Implement delattr(self, name).\n",
      "     |  \n",
      "     |  __getattribute__(self, name, /)\n",
      "     |      Return getattr(self, name).\n",
      "     |  \n",
      "     |  __reduce__(...)\n",
      "     |      Helper for pickle.\n",
      "     |  \n",
      "     |  __repr__(self, /)\n",
      "     |      Return repr(self).\n",
      "     |  \n",
      "     |  __setattr__(self, name, value, /)\n",
      "     |      Implement setattr(self, name, value).\n",
      "     |  \n",
      "     |  __setstate__(...)\n",
      "     |  \n",
      "     |  with_traceback(...)\n",
      "     |      Exception.with_traceback(tb) --\n",
      "     |      set self.__traceback__ to tb and return self.\n",
      "     |  \n",
      "     |  ----------------------------------------------------------------------\n",
      "     |  Data descriptors inherited from builtins.BaseException:\n",
      "     |  \n",
      "     |  __cause__\n",
      "     |      exception cause\n",
      "     |  \n",
      "     |  __context__\n",
      "     |      exception context\n",
      "     |  \n",
      "     |  __dict__\n",
      "     |  \n",
      "     |  __suppress_context__\n",
      "     |  \n",
      "     |  __traceback__\n",
      "     |  \n",
      "     |  args\n",
      "\n",
      "FUNCTIONS\n",
      "    compounds_to_frame(compounds, properties=None)\n",
      "        Construct a pandas :class:`~pandas.DataFrame` from a list of :class:`~pubchempy.Compound` objects.\n",
      "        \n",
      "        Optionally specify a list of the desired :class:`~pubchempy.Compound` properties.\n",
      "    \n",
      "    deprecated(message=None)\n",
      "        Decorator to mark functions as deprecated. A warning will be emitted when the function is used.\n",
      "    \n",
      "    download(outformat, path, identifier, namespace='cid', domain='compound', operation=None, searchtype=None, overwrite=False, **kwargs)\n",
      "        Format can be  XML, ASNT/B, JSON, SDF, CSV, PNG, TXT.\n",
      "    \n",
      "    get(identifier, namespace='cid', domain='compound', operation=None, output='JSON', searchtype=None, **kwargs)\n",
      "        Request wrapper that automatically handles async requests.\n",
      "    \n",
      "    get_aids(identifier, namespace='cid', domain='compound', searchtype=None, **kwargs)\n",
      "    \n",
      "    get_all_sources(domain='substance')\n",
      "        Return a list of all current depositors of substances or assays.\n",
      "    \n",
      "    get_assays(identifier, namespace='aid', **kwargs)\n",
      "        Retrieve the specified assay records from PubChem.\n",
      "        \n",
      "        :param identifier: The assay identifier to use as a search query.\n",
      "        :param namespace: (optional) The identifier type.\n",
      "    \n",
      "    get_cids(identifier, namespace='name', domain='compound', searchtype=None, **kwargs)\n",
      "    \n",
      "    get_compounds(identifier, namespace='cid', searchtype=None, as_dataframe=False, **kwargs)\n",
      "        Retrieve the specified compound records from PubChem.\n",
      "        \n",
      "        :param identifier: The compound identifier to use as a search query.\n",
      "        :param namespace: (optional) The identifier type, one of cid, name, smiles, sdf, inchi, inchikey or formula.\n",
      "        :param searchtype: (optional) The advanced search type, one of substructure, superstructure or similarity.\n",
      "        :param as_dataframe: (optional) Automatically extract the :class:`~pubchempy.Compound` properties into a pandas\n",
      "                             :class:`~pandas.DataFrame` and return that.\n",
      "    \n",
      "    get_json(identifier, namespace='cid', domain='compound', operation=None, searchtype=None, **kwargs)\n",
      "        Request wrapper that automatically parses JSON response and supresses NotFoundError.\n",
      "    \n",
      "    get_properties(properties, identifier, namespace='cid', searchtype=None, as_dataframe=False, **kwargs)\n",
      "        Retrieve the specified properties from PubChem.\n",
      "        \n",
      "        :param identifier: The compound, substance or assay identifier to use as a search query.\n",
      "        :param namespace: (optional) The identifier type.\n",
      "        :param searchtype: (optional) The advanced search type, one of substructure, superstructure or similarity.\n",
      "        :param as_dataframe: (optional) Automatically extract the properties into a pandas :class:`~pandas.DataFrame`.\n",
      "    \n",
      "    get_sdf(identifier, namespace='cid', domain='compound', operation=None, searchtype=None, **kwargs)\n",
      "        Request wrapper that automatically parses SDF response and supresses NotFoundError.\n",
      "    \n",
      "    get_sids(identifier, namespace='cid', domain='compound', searchtype=None, **kwargs)\n",
      "    \n",
      "    get_substances(identifier, namespace='sid', as_dataframe=False, **kwargs)\n",
      "        Retrieve the specified substance records from PubChem.\n",
      "        \n",
      "        :param identifier: The substance identifier to use as a search query.\n",
      "        :param namespace: (optional) The identifier type, one of sid, name or sourceid/<source name>.\n",
      "        :param as_dataframe: (optional) Automatically extract the :class:`~pubchempy.Substance` properties into a pandas\n",
      "                             :class:`~pandas.DataFrame` and return that.\n",
      "    \n",
      "    get_synonyms(identifier, namespace='cid', domain='compound', searchtype=None, **kwargs)\n",
      "    \n",
      "    memoized_property(fget)\n",
      "        Decorator to create memoized properties.\n",
      "        \n",
      "        Used to cache :class:`~pubchempy.Compound` and :class:`~pubchempy.Substance` properties that require an additional\n",
      "        request.\n",
      "    \n",
      "    request(identifier, namespace='cid', domain='compound', operation=None, output='JSON', searchtype=None, **kwargs)\n",
      "        Construct API request from parameters and return the response.\n",
      "        \n",
      "        Full specification at http://pubchem.ncbi.nlm.nih.gov/pug_rest/PUG_REST.html\n",
      "    \n",
      "    substances_to_frame(substances, properties=None)\n",
      "        Construct a pandas :class:`~pandas.DataFrame` from a list of :class:`~pubchempy.Substance` objects.\n",
      "        \n",
      "        Optionally specify a list of the desired :class:`~pubchempy.Substance` properties.\n",
      "\n",
      "DATA\n",
      "    API_BASE = 'https://pubchem.ncbi.nlm.nih.gov/rest/pug'\n",
      "    ELEMENTS = {1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N',...\n",
      "    PROPERTY_MAP = {'atom_stereo_count': 'AtomStereoCount', 'bond_stereo_c...\n",
      "    __email__ = 'm.swain@me.com'\n",
      "    __license__ = 'MIT'\n",
      "    division = _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192...\n",
      "    log = <Logger pubchempy (WARNING)>\n",
      "    print_function = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0)...\n",
      "    text_types = (<class 'str'>, <class 'bytes'>)\n",
      "    unicode_literals = _Feature((2, 6, 0, 'alpha', 2), (3, 0, 0, 'alpha', ...\n",
      "\n",
      "VERSION\n",
      "    1.0.4\n",
      "\n",
      "AUTHOR\n",
      "    Matt Swain\n",
      "\n",
      "FILE\n",
      "    /Users/sujiaqi/miniconda3/envs/py3/lib/python3.7/site-packages/pubchempy.py\n",
      "\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(pcp)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "c = pcp.Compound.from_cid(5090)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Compound(5090)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on Compound in module pubchempy object:\n",
      "\n",
      "class Compound(builtins.object)\n",
      " |  Compound(record)\n",
      " |  \n",
      " |  Corresponds to a single record from the PubChem Compound database.\n",
      " |  \n",
      " |  The PubChem Compound database is constructed from the Substance database using a standardization and deduplication\n",
      " |  process. Each Compound is uniquely identified by a CID.\n",
      " |  \n",
      " |  Methods defined here:\n",
      " |  \n",
      " |  __eq__(self, other)\n",
      " |      Return self==value.\n",
      " |  \n",
      " |  __init__(self, record)\n",
      " |      Initialize with a record dict from the PubChem PUG REST service.\n",
      " |      \n",
      " |      For most users, the ``from_cid()`` class method is probably a better way of creating Compounds.\n",
      " |      \n",
      " |      :param dict record: A compound record returned by the PubChem PUG REST service.\n",
      " |  \n",
      " |  __repr__(self)\n",
      " |      Return repr(self).\n",
      " |  \n",
      " |  to_dict(self, properties=None)\n",
      " |      Return a dictionary containing Compound data. Optionally specify a list of the desired properties.\n",
      " |      \n",
      " |      synonyms, aids and sids are not included unless explicitly specified using the properties parameter. This is\n",
      " |      because they each require an extra request.\n",
      " |  \n",
      " |  to_series(self, properties=None)\n",
      " |      Return a pandas :class:`~pandas.Series` containing Compound data. Optionally specify a list of the desired\n",
      " |      properties.\n",
      " |      \n",
      " |      synonyms, aids and sids are not included unless explicitly specified using the properties parameter. This is\n",
      " |      because they each require an extra request.\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Class methods defined here:\n",
      " |  \n",
      " |  from_cid(cid, **kwargs) from builtins.type\n",
      " |      Retrieve the Compound record for the specified CID.\n",
      " |      \n",
      " |      Usage::\n",
      " |      \n",
      " |          c = Compound.from_cid(6819)\n",
      " |      \n",
      " |      :param int cid: The PubChem Compound Identifier (CID).\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Data descriptors defined here:\n",
      " |  \n",
      " |  __dict__\n",
      " |      dictionary for instance variables (if defined)\n",
      " |  \n",
      " |  __weakref__\n",
      " |      list of weak references to the object (if defined)\n",
      " |  \n",
      " |  aids\n",
      " |      Requires an extra request. Result is cached.\n",
      " |  \n",
      " |  atom_stereo_count\n",
      " |      Atom stereocenter count.\n",
      " |  \n",
      " |  atoms\n",
      " |      List of :class:`Atoms <pubchempy.Atom>` in this Compound.\n",
      " |  \n",
      " |  bond_stereo_count\n",
      " |      Bond stereocenter count.\n",
      " |  \n",
      " |  bonds\n",
      " |      List of :class:`Bonds <pubchempy.Bond>` between :class:`Atoms <pubchempy.Atom>` in this Compound.\n",
      " |  \n",
      " |  cactvs_fingerprint\n",
      " |      PubChem CACTVS fingerprint.\n",
      " |      \n",
      " |      Each bit in the fingerprint represents the presence or absence of one of 881 chemical substructures.\n",
      " |      \n",
      " |      More information at ftp://ftp.ncbi.nlm.nih.gov/pubchem/specifications/pubchem_fingerprints.txt\n",
      " |  \n",
      " |  canonical_smiles\n",
      " |      Canonical SMILES, with no stereochemistry information.\n",
      " |  \n",
      " |  charge\n",
      " |      Formal charge on this Compound.\n",
      " |  \n",
      " |  cid\n",
      " |      The PubChem Compound Identifier (CID).\n",
      " |      \n",
      " |      .. note::\n",
      " |      \n",
      " |          When searching using a SMILES or InChI query that is not present in the PubChem Compound database, an\n",
      " |          automatically generated record may be returned that contains properties that have been calculated on the\n",
      " |          fly. These records will not have a CID property.\n",
      " |  \n",
      " |  complexity\n",
      " |      Complexity.\n",
      " |  \n",
      " |  conformer_id_3d\n",
      " |  \n",
      " |  conformer_rmsd_3d\n",
      " |  \n",
      " |  coordinate_type\n",
      " |  \n",
      " |  covalent_unit_count\n",
      " |      Covalently-bonded unit count.\n",
      " |  \n",
      " |  defined_atom_stereo_count\n",
      " |      Defined atom stereocenter count.\n",
      " |  \n",
      " |  defined_bond_stereo_count\n",
      " |      Defined bond stereocenter count.\n",
      " |  \n",
      " |  effective_rotor_count_3d\n",
      " |  \n",
      " |  elements\n",
      " |      List of element symbols for atoms in this Compound.\n",
      " |  \n",
      " |  exact_mass\n",
      " |      Exact mass.\n",
      " |  \n",
      " |  feature_selfoverlap_3d\n",
      " |  \n",
      " |  fingerprint\n",
      " |      Raw padded and hex-encoded fingerprint, as returned by the PUG REST API.\n",
      " |  \n",
      " |  h_bond_acceptor_count\n",
      " |      Hydrogen bond acceptor count.\n",
      " |  \n",
      " |  h_bond_donor_count\n",
      " |      Hydrogen bond donor count.\n",
      " |  \n",
      " |  heavy_atom_count\n",
      " |      Heavy atom count.\n",
      " |  \n",
      " |  inchi\n",
      " |      InChI string.\n",
      " |  \n",
      " |  inchikey\n",
      " |      InChIKey.\n",
      " |  \n",
      " |  isomeric_smiles\n",
      " |      Isomeric SMILES.\n",
      " |  \n",
      " |  isotope_atom_count\n",
      " |      Isotope atom count.\n",
      " |  \n",
      " |  iupac_name\n",
      " |      Preferred IUPAC name.\n",
      " |  \n",
      " |  mmff94_energy_3d\n",
      " |  \n",
      " |  mmff94_partial_charges_3d\n",
      " |  \n",
      " |  molecular_formula\n",
      " |      Molecular formula.\n",
      " |  \n",
      " |  molecular_weight\n",
      " |      Molecular Weight.\n",
      " |  \n",
      " |  monoisotopic_mass\n",
      " |      Monoisotopic mass.\n",
      " |  \n",
      " |  multipoles_3d\n",
      " |  \n",
      " |  pharmacophore_features_3d\n",
      " |  \n",
      " |  record\n",
      " |      The raw compound record returned by the PubChem PUG REST service.\n",
      " |  \n",
      " |  rotatable_bond_count\n",
      " |      Rotatable bond count.\n",
      " |  \n",
      " |  shape_fingerprint_3d\n",
      " |  \n",
      " |  shape_selfoverlap_3d\n",
      " |  \n",
      " |  sids\n",
      " |      Requires an extra request. Result is cached.\n",
      " |  \n",
      " |  synonyms\n",
      " |      A ranked list of all the names associated with this Compound.\n",
      " |      \n",
      " |      Requires an extra request. Result is cached.\n",
      " |  \n",
      " |  tpsa\n",
      " |      Topological Polar Surface Area.\n",
      " |  \n",
      " |  undefined_atom_stereo_count\n",
      " |      Undefined atom stereocenter count.\n",
      " |  \n",
      " |  undefined_bond_stereo_count\n",
      " |      Undefined bond stereocenter count.\n",
      " |  \n",
      " |  volume_3d\n",
      " |  \n",
      " |  xlogp\n",
      " |      XLogP.\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Data and other attributes defined here:\n",
      " |  \n",
      " |  __hash__ = None\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'InChI=1S/C17H14O4S/c1-22(19,20)14-9-7-12(8-10-14)15-11-21-17(18)16(15)13-5-3-2-4-6-13/h2-10H,11H2,1H3'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c.inchi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Atom(1, S),\n",
       " Atom(2, O),\n",
       " Atom(3, O),\n",
       " Atom(4, O),\n",
       " Atom(5, O),\n",
       " Atom(6, C),\n",
       " Atom(7, C),\n",
       " Atom(8, C),\n",
       " Atom(9, C),\n",
       " Atom(10, C),\n",
       " Atom(11, C),\n",
       " Atom(12, C),\n",
       " Atom(13, C),\n",
       " Atom(14, C),\n",
       " Atom(15, C),\n",
       " Atom(16, C),\n",
       " Atom(17, C),\n",
       " Atom(18, C),\n",
       " Atom(19, C),\n",
       " Atom(20, C),\n",
       " Atom(21, C),\n",
       " Atom(22, C),\n",
       " Atom(23, H),\n",
       " Atom(24, H),\n",
       " Atom(25, H),\n",
       " Atom(26, H),\n",
       " Atom(27, H),\n",
       " Atom(28, H),\n",
       " Atom(29, H),\n",
       " Atom(30, H),\n",
       " Atom(31, H),\n",
       " Atom(32, H),\n",
       " Atom(33, H),\n",
       " Atom(34, H),\n",
       " Atom(35, H),\n",
       " Atom(36, H)]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c.atoms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "a=pcp.get_synonyms('Aspirin', 'name')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'CID': 2244,\n",
       "  'Synonym': ['aspirin',\n",
       "   'ACETYLSALICYLIC ACID',\n",
       "   '50-78-2',\n",
       "   '2-Acetoxybenzoic acid',\n",
       "   '2-(Acetyloxy)benzoic acid',\n",
       "   'Acetylsalicylate',\n",
       "   'o-Acetoxybenzoic acid',\n",
       "   'Acylpyrin',\n",
       "   'O-Acetylsalicylic acid',\n",
       "   'Easprin',\n",
       "   'Ecotrin',\n",
       "   'Acenterine',\n",
       "   'Acetophen',\n",
       "   'Polopiryna',\n",
       "   'Acetosal',\n",
       "   'Colfarit',\n",
       "   'Salicylic acid acetate',\n",
       "   'o-Carboxyphenyl acetate',\n",
       "   'Enterosarein',\n",
       "   'Aceticyl',\n",
       "   'Acetonyl',\n",
       "   'Acetosalin',\n",
       "   'Acetylin',\n",
       "   'Aspergum',\n",
       "   'Aspirdrops',\n",
       "   'Benaspir',\n",
       "   'Micristin',\n",
       "   'Pharmacin',\n",
       "   'Premaspin',\n",
       "   'Salcetogen',\n",
       "   'Temperal',\n",
       "   'Ecolen',\n",
       "   'Empirin',\n",
       "   'Endydol',\n",
       "   'Rhodine',\n",
       "   'Saletin',\n",
       "   'Rheumintabletten',\n",
       "   'Solprin acid',\n",
       "   'Acetisal',\n",
       "   'Acetylsal',\n",
       "   'Aspirine',\n",
       "   'Bialpirina',\n",
       "   'Bialpirinia',\n",
       "   'Claradin',\n",
       "   'Clariprin',\n",
       "   'Entericin',\n",
       "   'Enterophen',\n",
       "   'Enterosarine',\n",
       "   'Globentyl',\n",
       "   'Measurin',\n",
       "   'Neuronika',\n",
       "   'Salacetin',\n",
       "   'Solpyron',\n",
       "   'Acesal',\n",
       "   'Acisal',\n",
       "   'Asagran',\n",
       "   'Asteric',\n",
       "   'Cemirit',\n",
       "   'Decaten',\n",
       "   'Duramax',\n",
       "   'Extren',\n",
       "   'Globoid',\n",
       "   'Helicon',\n",
       "   'Idragin',\n",
       "   'Levius',\n",
       "   'Pirseal',\n",
       "   'Rhonal',\n",
       "   'Solfrin',\n",
       "   'Adiro',\n",
       "   'Aspec',\n",
       "   'Aspro',\n",
       "   'Novid',\n",
       "   'Yasta',\n",
       "   'Acetosalic acid',\n",
       "   '2-acetyloxybenzoic acid',\n",
       "   'Acidum acetylsalicylicum',\n",
       "   'Triple-sal',\n",
       "   'Spira-Dine',\n",
       "   'ZORprin',\n",
       "   'Bi-prin',\n",
       "   'Acetilum acidulatum',\n",
       "   'Acimetten',\n",
       "   'Delgesic',\n",
       "   'Entrophen',\n",
       "   'Persistin',\n",
       "   '2-Carboxyphenyl acetate',\n",
       "   'Acetilsalicilico',\n",
       "   'Dolean pH 8',\n",
       "   'A.S.A. empirin',\n",
       "   'XAXA',\n",
       "   'Acido acetilsalicilico',\n",
       "   'Contrheuma retard',\n",
       "   'Acide acetylsalicylique',\n",
       "   'Benzoic acid, 2-(acetyloxy)-',\n",
       "   'Endosprin',\n",
       "   'Kapsazal',\n",
       "   'Bayer',\n",
       "   'ASA',\n",
       "   'Acetylsalicylsaure',\n",
       "   '8-hour Bayer',\n",
       "   'Solprin',\n",
       "   'Triaminicin',\n",
       "   'Acetysal',\n",
       "   'Asatard',\n",
       "   'Istopirin',\n",
       "   'Magnecyl',\n",
       "   'Medisyl',\n",
       "   'Polopirin',\n",
       "   'Tasprin',\n",
       "   'Ronal',\n",
       "   'Bayer Buffered',\n",
       "   'Aspro Clear',\n",
       "   'Bayer Plus',\n",
       "   'Nu-seals aspirin',\n",
       "   'Rheumin tabletten',\n",
       "   'Salicylic acid, acetate',\n",
       "   'Acido O-acetil-benzoico',\n",
       "   'aspirin (acetylsalicylic acid)',\n",
       "   'Kyselina acetylsalicylova',\n",
       "   '2-Acetoxybenzenecarboxylic acid',\n",
       "   'St. Joseph Aspirin for Adults',\n",
       "   'A.S.A.',\n",
       "   'St. Joseph',\n",
       "   'Aspirina 03',\n",
       "   'Kyselina 2-acetoxybenzoova',\n",
       "   'Acetylsalycilic acid',\n",
       "   'acetyl salicylic acid',\n",
       "   'SP 189',\n",
       "   'Bayer Aspirin 8 Hour',\n",
       "   'Acetard',\n",
       "   'Asprin',\n",
       "   'AC 5230',\n",
       "   \"Bayer Children's Aspirin\",\n",
       "   'Acetylsalicylsaeure',\n",
       "   'Acetylsalicylsaure [German]',\n",
       "   'Azetylsalizylsaeure',\n",
       "   'S-211',\n",
       "   'UNII-R16CO5Y76E',\n",
       "   'Benzoicacid, 2-(acetyloxy)-',\n",
       "   'Solupsan',\n",
       "   'Empirin with Codeine',\n",
       "   'CCRIS 3243',\n",
       "   'HSDB 652',\n",
       "   'ECM',\n",
       "   'Acide acetylsalicylique [French]',\n",
       "   'Acido acetilsalicilico [Italian]',\n",
       "   'CHEBI:15365',\n",
       "   '2-(acetyloxy)benzoate',\n",
       "   'Kyselina acetylsalicylova [Czech]',\n",
       "   'Acido O-acetil-benzoico [Italian]',\n",
       "   'Kyselina 2-acetoxybenzoova [Czech]',\n",
       "   'Bayer Extra Strength Aspirin for Migraine Pain',\n",
       "   'EINECS 200-064-1',\n",
       "   'NSC 27223',\n",
       "   'o-(Acetyloxy)benzoic acid',\n",
       "   'Acetylsalicylic acid, 99%',\n",
       "   'Bayer Enteric 325 mg Regular Strength',\n",
       "   'BRN 0779271',\n",
       "   'acide 2-(acetyloxy)benzoique',\n",
       "   'Bayer Enteric 81 mg Adult Low Strength',\n",
       "   'Bayer Enteric 500 mg Arthritis Strength',\n",
       "   'AI3-02956',\n",
       "   'R16CO5Y76E',\n",
       "   'Aspirin form II',\n",
       "   'BSYNRYMUTXBXSQ-UHFFFAOYSA-N',\n",
       "   'component of Midol',\n",
       "   'NSC27223',\n",
       "   'component of Synirin',\n",
       "   'MFCD00002430',\n",
       "   'NSC-27223',\n",
       "   'component of Zactirin',\n",
       "   'NSC-406186',\n",
       "   'component of Coricidin',\n",
       "   'component of Persistin',\n",
       "   'component of Robaxisal',\n",
       "   'o-Acetoxybenzoate',\n",
       "   'NCGC00015067-04',\n",
       "   'o-acetyl-salicylic acid',\n",
       "   'DSSTox_CID_108',\n",
       "   'component of Ascodeen-30',\n",
       "   'WLN: QVR BOV1',\n",
       "   'DSSTox_RID_75372',\n",
       "   'DSSTox_GSID_20108',\n",
       "   'component of Darvon with A.S.A',\n",
       "   'Aloxiprimum',\n",
       "   'Asaphen',\n",
       "   'Aspalon',\n",
       "   'Durlaza',\n",
       "   'AspirinTest2',\n",
       "   'Nu-seals',\n",
       "   'component of St. Joseph Cold Tablets',\n",
       "   'Aspir-Mox',\n",
       "   'Durlaza ER',\n",
       "   'AcetylsalicylicAcid',\n",
       "   'CAS-50-78-2',\n",
       "   'Acetoxybenzoic acid',\n",
       "   'Acetysalicylic acid',\n",
       "   'AIN',\n",
       "   'SMR000059138',\n",
       "   'Ascoden-30',\n",
       "   'Acetylsalicyclic acid',\n",
       "   'Aspirin [BAN:JAN]',\n",
       "   'SR-01000075668',\n",
       "   'Aspirin [USP:BAN:JAN]',\n",
       "   'Bay E4465',\n",
       "   'Aspropharm',\n",
       "   'Cardioaspirin',\n",
       "   'Cardioaspirina',\n",
       "   'Acetyonyl',\n",
       "   'Asacard',\n",
       "   'Ascolong',\n",
       "   'Colsprin',\n",
       "   'Miniasal',\n",
       "   'Salospir',\n",
       "   'Acesan',\n",
       "   'Toldex',\n",
       "   '1oxr',\n",
       "   '2-Acetoxybenzoate',\n",
       "   '99512-66-0',\n",
       "   'Aspirin,(S)',\n",
       "   'Aspalon (JAN)',\n",
       "   'Easprin (TN)',\n",
       "   'acetyl-salicylic acid',\n",
       "   'Aspirin USP-26',\n",
       "   'acetyl salicyclic acid',\n",
       "   'o-(Acetyloxy)benzoate',\n",
       "   'Percodan (Salt/Mix)',\n",
       "   'Ascriptin (Salt/Mix)',\n",
       "   'Micrainin (Salt/Mix)',\n",
       "   '2-acetoxy benzoic acid',\n",
       "   'PubChem20190',\n",
       "   'Spectrum_001245',\n",
       "   '2-Acetylsalicyclic acid',\n",
       "   'ACMC-209kpz',\n",
       "   'Salicylic acid, acetyl-',\n",
       "   'CHEMBL25',\n",
       "   'Spectrum2_001899',\n",
       "   'Spectrum3_001295',\n",
       "   'Spectrum4_000099',\n",
       "   'Spectrum5_000740',\n",
       "   'Aspirin (JP17/USP)',\n",
       "   'Lopac-A-5376',\n",
       "   'Salycylacetylsalicylic acid',\n",
       "   'benzoic acid, 2-acetoxy-',\n",
       "   'Epitope ID:114151',\n",
       "   'Percodan Demi (Salt/Mix)',\n",
       "   'Soma Compound (Salt/Mix)',\n",
       "   'ZINC53',\n",
       "   'aspirin-acetylsalicylic-acid',\n",
       "   'EC 200-064-1',\n",
       "   'Aspirin USP (3080)',\n",
       "   'cid_2244',\n",
       "   'Pravigard PAC (Salt/Mix)',\n",
       "   'SCHEMBL1353',\n",
       "   '2-(Acetyloxy)-benzoic acid',\n",
       "   'A.S.A',\n",
       "   'Aspirin USP (2080B)',\n",
       "   'Bay-e-4465',\n",
       "   'Lopac0_000038',\n",
       "   'KBioGR_000398',\n",
       "   'KBioGR_002271',\n",
       "   'KBioSS_001725',\n",
       "   'KBioSS_002272',\n",
       "   '4-10-00-00138 (Beilstein Handbook Reference)',\n",
       "   'KSC269M6D',\n",
       "   'MLS001055329',\n",
       "   'MLS001066332',\n",
       "   'MLS001336045',\n",
       "   'MLS001336046',\n",
       "   'BIDD:GT0118',\n",
       "   'DivK1c_000555',\n",
       "   'SPECTRUM1500130',\n",
       "   'SPBio_001838',\n",
       "   'Acetylsalicylic acid, >=99%',\n",
       "   'GTPL4139',\n",
       "   '(non-d)Acetylsalicylic Acid-d3',\n",
       "   'O-Acetylsalicylic acid; Aspirin',\n",
       "   'DTXSID5020108',\n",
       "   'Acetylsalicylic acid-carboxy-14c',\n",
       "   'BDBM22360',\n",
       "   'CTK1G9661',\n",
       "   'HMS501L17',\n",
       "   'KBio1_000555',\n",
       "   'KBio2_001725',\n",
       "   'KBio2_002271',\n",
       "   'KBio2_004293',\n",
       "   'KBio2_004839',\n",
       "   'KBio2_006861',\n",
       "   'KBio2_007407',\n",
       "   'KBio3_002149',\n",
       "   'KBio3_002751',\n",
       "   'KS-00000ULP',\n",
       "   'Empirin with Codeine (Salt/Mix)',\n",
       "   'Acetylsalicylic acid, >=99.0%',\n",
       "   'cMAP_000006',\n",
       "   'component of Zactirin (Salt/Mix)',\n",
       "   'NINDS_000555',\n",
       "   'HMS1920E13',\n",
       "   'HMS2090G03',\n",
       "   'HMS2091K13',\n",
       "   'HMS2233L18',\n",
       "   'HMS3260G17',\n",
       "   'HMS3372N15',\n",
       "   'HMS3656N14',\n",
       "   'HMS3715P19',\n",
       "   'Pharmakon1600-01500130',\n",
       "   'BCP21790',\n",
       "   'STR01551',\n",
       "   'Tox21_110076',\n",
       "   'Tox21_202117',\n",
       "   'Tox21_300146',\n",
       "   'Tox21_500038',\n",
       "   'ANW-31125',\n",
       "   'BBL005469',\n",
       "   'CCG-39490',\n",
       "   'LS-143',\n",
       "   'NSC406186',\n",
       "   'NSC755899',\n",
       "   's3017',\n",
       "   'SBB015069',\n",
       "   'STL137674',\n",
       "   'AKOS000118884',\n",
       "   'component of Ascodeen-30 (Salt/Mix)',\n",
       "   'Tox21_110076_1',\n",
       "   'BAY1019036',\n",
       "   'CS-2001',\n",
       "   'DB00945',\n",
       "   'LP00038',\n",
       "   'MCULE-3199019536',\n",
       "   'NSC-755899',\n",
       "   'PL-2200',\n",
       "   'RTX-012224',\n",
       "   'BAY-1019036',\n",
       "   'IDI1_000555',\n",
       "   'Acetylsalicylic acid, analytical standard',\n",
       "   'NCGC00015067-01',\n",
       "   'NCGC00015067-02',\n",
       "   'NCGC00015067-03',\n",
       "   'NCGC00015067-05',\n",
       "   'NCGC00015067-06',\n",
       "   'NCGC00015067-07',\n",
       "   'NCGC00015067-08',\n",
       "   'NCGC00015067-09',\n",
       "   'NCGC00015067-10',\n",
       "   'NCGC00015067-11',\n",
       "   'NCGC00015067-12',\n",
       "   'NCGC00015067-13',\n",
       "   'NCGC00015067-14',\n",
       "   'NCGC00090977-01',\n",
       "   'NCGC00090977-02',\n",
       "   'NCGC00090977-03',\n",
       "   'NCGC00090977-04',\n",
       "   'NCGC00090977-05',\n",
       "   'NCGC00090977-06',\n",
       "   'NCGC00090977-07',\n",
       "   'NCGC00254034-01',\n",
       "   'NCGC00259666-01',\n",
       "   'NCGC00260723-01',\n",
       "   'Aspirin, meets USP testing specifications',\n",
       "   'H740',\n",
       "   'HY-14654',\n",
       "   'NCI60_002222',\n",
       "   'SC-18564',\n",
       "   'SC-61857',\n",
       "   'ST075414',\n",
       "   'SBI-0050027.P004',\n",
       "   'AB1003266',\n",
       "   'DS-017139',\n",
       "   'UNM-0000306102',\n",
       "   'component of Darvon with A.S.A (Salt/Mix)',\n",
       "   'EU-0100038',\n",
       "   'FT-0655181',\n",
       "   'SW199665-2',\n",
       "   '1777-EP2269989A1',\n",
       "   '1777-EP2269990A1',\n",
       "   '1777-EP2272825A2',\n",
       "   '1777-EP2275420A1',\n",
       "   '1777-EP2277865A1',\n",
       "   '1777-EP2280008A2',\n",
       "   '1777-EP2281563A1',\n",
       "   '1777-EP2281815A1',\n",
       "   '1777-EP2281818A1',\n",
       "   '1777-EP2292227A2',\n",
       "   '1777-EP2295055A2',\n",
       "   '1777-EP2298764A1',\n",
       "   '1777-EP2298765A1',\n",
       "   '1777-EP2298768A1',\n",
       "   '1777-EP2298776A1',\n",
       "   '1777-EP2305219A1',\n",
       "   '1777-EP2305260A1',\n",
       "   '1777-EP2305640A2',\n",
       "   '1777-EP2305652A2',\n",
       "   '1777-EP2308510A1',\n",
       "   '1777-EP2311453A1',\n",
       "   '1777-EP2314590A1',\n",
       "   '1777-EP2314593A1',\n",
       "   '1777-EP2316459A1',\n",
       "   '1777-EP2371811A2',\n",
       "   '6474-EP1441224A2',\n",
       "   '6474-EP2272832A1',\n",
       "   '6474-EP2275420A1',\n",
       "   '6474-EP2277861A1',\n",
       "   '6474-EP2277875A2',\n",
       "   '6474-EP2298757A2',\n",
       "   '6474-EP2298764A1',\n",
       "   '6474-EP2298765A1',\n",
       "   '6474-EP2314585A1',\n",
       "   'A 5376',\n",
       "   'Acetylsalicylic Acid 1.0 mg/ml in Acetonitrile',\n",
       "   'C01405',\n",
       "   'D00109',\n",
       "   'Q18216',\n",
       "   '24189-EP2295409A1',\n",
       "   '24189-EP2314590A1',\n",
       "   'AB00051918-08',\n",
       "   'AB00051918_09',\n",
       "   'AB00051918_10',\n",
       "   '170197-EP2275413A1',\n",
       "   '170197-EP2287156A1',\n",
       "   '186947-EP2270113A1',\n",
       "   '186947-EP2272935A1',\n",
       "   'Arthritis Pain Formula Maximum Strength (Salt/Mix)',\n",
       "   'METHANONE,(2-CHLORO-3-PYRIDINYL)CYCLOBUTYL-',\n",
       "   'SR-01000075668-1',\n",
       "   'SR-01000075668-4',\n",
       "   'SR-01000075668-6',\n",
       "   'Acetylsalicylic acid, Vetec(TM) reagent grade, >=99%',\n",
       "   'Aspirin, British Pharmacopoeia (BP) Reference Standard',\n",
       "   'F2191-0068',\n",
       "   'Z234893989',\n",
       "   '2-Acetoxybenzoic acid; O-Acetylsalicylic acid; ASA; Aspirin',\n",
       "   'Aspirin, United States Pharmacopeia (USP) Reference Standard',\n",
       "   'D41527A7-A9EB-472D-A7FC-312821130549',\n",
       "   'Acetylsalicylic acid, European Pharmacopoeia (EP) Reference Standard',\n",
       "   'Acetylsalicylic acid, BioReagent, plant cell culture tested, >=99.0%',\n",
       "   'Acetylsalicylic acid for peak identification, European Pharmacopoeia (EP) Reference Standard',\n",
       "   'InChI=1/C9H8O4/c1-6(10)13-8-5-3-2-4-7(8)9(11)12/h2-5H,1H3,(H,11,12',\n",
       "   '11126-35-5',\n",
       "   '156865-15-5',\n",
       "   'Aspirin (Acetyl Salicylic Acid), Pharmaceutical Secondary Standard; Certified Reference Material']}]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2244"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a[0]['CID']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['__class__',\n",
       " '__delattr__',\n",
       " '__dict__',\n",
       " '__dir__',\n",
       " '__doc__',\n",
       " '__eq__',\n",
       " '__format__',\n",
       " '__ge__',\n",
       " '__getattribute__',\n",
       " '__gt__',\n",
       " '__hash__',\n",
       " '__init__',\n",
       " '__init_subclass__',\n",
       " '__le__',\n",
       " '__lt__',\n",
       " '__module__',\n",
       " '__ne__',\n",
       " '__new__',\n",
       " '__reduce__',\n",
       " '__reduce_ex__',\n",
       " '__repr__',\n",
       " '__setattr__',\n",
       " '__sizeof__',\n",
       " '__str__',\n",
       " '__subclasshook__',\n",
       " '__weakref__',\n",
       " '_aids',\n",
       " '_atoms',\n",
       " '_bonds',\n",
       " '_record',\n",
       " '_setup_atoms',\n",
       " '_setup_bonds',\n",
       " '_sids',\n",
       " '_synonyms',\n",
       " 'aids',\n",
       " 'atom_stereo_count',\n",
       " 'atoms',\n",
       " 'bond_stereo_count',\n",
       " 'bonds',\n",
       " 'cactvs_fingerprint',\n",
       " 'canonical_smiles',\n",
       " 'charge',\n",
       " 'cid',\n",
       " 'complexity',\n",
       " 'conformer_id_3d',\n",
       " 'conformer_rmsd_3d',\n",
       " 'coordinate_type',\n",
       " 'covalent_unit_count',\n",
       " 'defined_atom_stereo_count',\n",
       " 'defined_bond_stereo_count',\n",
       " 'effective_rotor_count_3d',\n",
       " 'elements',\n",
       " 'exact_mass',\n",
       " 'feature_selfoverlap_3d',\n",
       " 'fingerprint',\n",
       " 'from_cid',\n",
       " 'h_bond_acceptor_count',\n",
       " 'h_bond_donor_count',\n",
       " 'heavy_atom_count',\n",
       " 'inchi',\n",
       " 'inchikey',\n",
       " 'isomeric_smiles',\n",
       " 'isotope_atom_count',\n",
       " 'iupac_name',\n",
       " 'mmff94_energy_3d',\n",
       " 'mmff94_partial_charges_3d',\n",
       " 'molecular_formula',\n",
       " 'molecular_weight',\n",
       " 'monoisotopic_mass',\n",
       " 'multipoles_3d',\n",
       " 'pharmacophore_features_3d',\n",
       " 'record',\n",
       " 'rotatable_bond_count',\n",
       " 'shape_fingerprint_3d',\n",
       " 'shape_selfoverlap_3d',\n",
       " 'sids',\n",
       " 'synonyms',\n",
       " 'to_dict',\n",
       " 'to_series',\n",
       " 'tpsa',\n",
       " 'undefined_atom_stereo_count',\n",
       " 'undefined_bond_stereo_count',\n",
       " 'volume_3d',\n",
       " 'xlogp']"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dir(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 3, 5, 7, 9, 13, 15, 19, 21, 23, 25, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 53, 55, 59, 67, 71, 73, 77, 79, 81, 83, 85, 87, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 113, 115, 119, 121, 123, 125, 129, 131, 133, 137, 139, 141, 143, 145, 875, 880, 881, 884, 885, 887, 889, 892, 893, 894, 900, 902, 910, 923, 924, 927, 930, 940, 995, 1030, 1195, 1376, 1379, 1385, 1422, 1452, 1454, 1457, 1458, 1460, 1463, 1465, 1467, 1468, 1469, 1471, 1476, 1477, 1478, 1479, 1487, 1490, 1511, 1519, 1529, 1530, 1531, 1532, 1554, 1621, 1626, 1662, 1663, 1672, 1688, 1766, 1768, 1813, 1814, 1832, 1850, 1863, 1865, 1875, 1885, 1899, 1903, 1906, 1910, 1947, 1948, 1950, 1956, 1962, 1974, 1979, 1987, 2016, 2023, 2025, 2029, 2052, 2057, 2064, 2066, 2094, 2097, 2098, 2099, 2101, 2107, 2112, 2129, 2130, 2147, 2156, 2174, 2177, 2216, 2221, 2227, 2234, 2235, 2237, 2239, 2240, 2241, 2247, 2275, 2280, 2300, 2308, 2313, 2322, 2330, 2380, 2391, 2435, 2445, 2451, 2462, 2472, 2517, 2520, 2521, 2524, 2528, 2540, 2544, 2546, 2549, 2550, 2551, 2553, 2557, 2563, 2599, 2606, 2629, 2642, 2648, 2650, 2661, 2662, 2690, 2716, 2717, 2718, 2751, 2796, 2797, 2805, 2806, 2825, 6732, 25975, 28216, 28332, 29698, 46697, 46698, 54370, 54371, 54536, 54538, 54545, 54546, 54549, 54555, 54559, 54560, 54711, 54712, 54713, 160245, 160246, 160247, 160248, 160252, 160257, 160262, 160264, 160269, 160399, 160400, 160565, 160596, 160599, 160730, 160731, 160732, 160733, 160742, 160743, 161328, 161331, 161336, 161337, 161341, 161342, 161480, 161484, 161485, 161487, 161491, 161497, 161503, 161656, 161660, 161666, 161668, 161669, 161671, 161672, 161677, 161686, 161689, 161827, 161833, 161848, 161850, 161996, 162006, 162011, 162017, 162018, 162022, 162023, 162167, 162306, 162312, 162336, 162340, 162341, 162471, 162472, 162489, 162494, 162495, 162498, 162503, 162630, 162633, 162635, 162646, 162651, 162661, 162662, 162663, 162670, 174679, 176468, 177173, 177675, 178404, 178405, 178498, 178641, 178643, 178644, 178664, 178916, 178917, 178918, 178919, 182047, 183368, 183502, 183637, 183698, 184044, 184173, 184174, 227006, 229414, 229415, 229532, 232654, 232766, 232767, 233868, 233869, 234313, 234556, 234657, 234963, 239789, 239790, 239794, 239795, 241083, 241084, 241126, 241127, 241307, 241308, 241382, 241383, 241488, 241489, 241608, 241609, 241917, 241918, 242132, 242133, 243653, 243659, 243778, 243786, 243798, 244091, 244252, 244381, 246823, 254798, 254836, 254842, 254882, 255383, 261404, 261405, 261408, 265679, 265680, 265682, 265683, 265684, 265685, 265687, 265689, 265691, 265693, 268043, 268044, 268051, 268052, 280834, 280835, 281541, 281542, 281544, 281545, 281546, 281547, 281548, 284227, 284228, 284229, 286230, 301223, 301224, 301225, 311524, 313769, 313770, 313771, 313772, 313773, 313774, 316693, 319989, 319990, 319991, 319992, 319993, 321895, 321896, 321897, 323716, 323717, 323718, 330499, 330500, 330501, 336477, 340786, 382426, 382427, 382428, 382429, 382430, 382432, 392037, 392038, 392039, 392040, 392041, 392042, 392045, 396715, 397228, 397230, 397231, 397232, 397233, 403340, 432545, 432546, 432547, 432548, 432549, 432550, 432551, 432552, 432553, 432561, 434955, 434959, 434962, 434973, 434989, 435003, 435005, 435022, 435030, 445973, 445975, 449728, 449739, 449762, 449763, 449768, 459024, 463079, 463082, 463104, 463111, 463141, 463165, 463190, 463195, 463210, 463212, 479548, 479549, 479550, 484058, 485270, 485272, 485273, 485275, 485281, 485290, 485317, 485346, 485350, 488839, 488847, 488862, 488890, 488895, 488896, 488899, 488922, 488965, 488966, 488975, 488977, 489030, 489031, 492953, 492956, 492961, 492972, 493005, 493008, 493011, 493012, 493017, 493033, 493036, 493087, 493091, 493098, 493131, 493160, 493187, 493244, 502271, 502272, 502273, 502274, 502275, 503311, 504326, 504327, 504329, 504332, 504339, 504357, 504406, 504408, 504411, 504414, 504423, 504441, 504444, 504454, 504462, 504490, 504523, 504558, 504577, 504582, 504621, 504634, 504648, 504690, 504692, 504700, 504707, 504720, 504734, 504749, 504766, 504770, 504775, 504803, 504832, 504834, 504845, 504847, 504865, 504884, 504891, 504894, 504937, 510444, 510445, 510446, 538646, 540253, 540263, 540267, 540295, 540299, 540303, 540308, 540317, 540336, 540364, 560392, 560393, 560394, 560395, 560396, 560400, 560401, 560402, 560403, 560404, 560405, 588211, 588212, 588213, 588220, 588334, 588335, 588352, 588354, 588391, 588405, 588413, 588436, 588453, 588456, 588458, 588473, 588475, 588478, 588489, 588492, 588493, 588497, 588499, 588501, 588511, 588519, 588549, 588579, 588590, 588591, 588621, 588627, 588664, 588674, 588675, 588676, 588689, 588692, 588726, 588727, 588795, 588814, 588819, 588834, 588850, 588852, 588855, 588856, 592801, 592802, 592803, 602123, 602141, 602162, 602163, 602179, 602229, 602233, 602244, 602247, 602248, 602250, 602252, 602261, 602274, 602281, 602310, 602313, 602314, 602329, 602332, 602340, 602342, 602346, 602363, 602393, 602396, 602399, 602405, 602410, 602429, 602438, 602440, 602449, 602481, 603428, 603429, 603504, 603507, 603508, 603509, 603510, 612060, 612631, 612632, 612634, 612635, 612636, 612637, 612638, 612639, 612643, 623870, 623877, 623901, 624030, 624031, 624032, 624037, 624038, 624040, 624044, 624101, 624125, 624126, 624127, 624137, 624156, 624168, 624169, 624170, 624171, 624172, 624173, 624178, 624202, 624204, 624246, 624256, 624260, 624263, 624267, 624268, 624288, 624296, 624297, 624304, 624330, 624349, 624352, 624354, 624377, 624414, 624415, 624416, 624417, 624418, 624463, 624464, 624465, 624466, 624467, 624483, 625144, 625145, 625146, 625147, 625148, 625149, 625150, 625151, 625152, 625153, 625154, 625155, 625156, 625157, 625158, 625159, 625160, 625161, 625162, 625163, 625164, 625165, 625166, 625167, 625168, 625169, 625170, 625171, 625172, 625173, 625174, 625175, 625176, 625177, 625178, 625179, 625180, 625181, 625182, 625183, 625184, 625185, 625186, 625187, 625188, 625189, 625190, 625191, 625192, 625193, 625194, 625195, 625196, 625197, 625198, 625199, 625200, 625201, 625202, 625203, 625204, 625205, 625206, 625207, 625208, 625209, 625210, 625211, 625212, 625213, 625214, 625215, 625216, 625217, 625218, 625219, 625220, 625221, 625222, 625223, 625224, 625225, 625226, 625227, 625228, 625229, 625230, 625231, 625232, 625233, 625234, 625235, 625236, 625237, 625238, 625239, 625240, 625241, 625242, 625243, 625244, 625245, 625246, 625247, 625248, 625249, 625250, 625251, 625252, 625253, 625254, 625255, 625256, 625257, 625258, 625259, 625260, 625261, 625262, 625263, 625264, 625265, 625266, 625267, 625268, 625269, 625270, 625271, 625272, 625273, 625274, 625275, 625279, 625280, 625281, 625282, 625283, 625284, 625285, 625286, 625287, 625288, 625289, 625290, 625291, 625292, 630131, 640981, 644803, 644806, 644807, 651548, 651550, 651560, 651572, 651582, 651602, 651610, 651631, 651632, 651633, 651634, 651635, 651636, 651640, 651644, 651647, 651654, 651658, 651661, 651687, 651699, 651702, 651704, 651710, 651711, 651718, 651719, 651723, 651724, 651725, 651768, 651800, 651819, 651820, 651821, 651828, 651957, 651958, 651965, 651999, 652010, 652017, 652025, 652039, 652048, 652051, 652054, 652067, 652104, 652105, 652106, 652115, 652126, 652154, 652162, 652163, 652197, 652257, 675695, 675696, 681925, 686940, 686964, 686970, 686971, 686978, 686979, 686992, 686996, 687014, 687016, 702429, 720504, 720508, 720509, 720511, 720516, 720530, 720531, 720532, 720533, 720542, 720543, 720551, 720552, 720553, 720554, 720579, 720580, 720582, 720596, 720634, 720635, 720637, 720641, 720648, 720674, 720675, 720678, 720679, 720680, 720681, 720682, 720683, 720684, 720685, 720686, 720687, 720691, 720692, 720693, 720700, 720702, 720704, 720707, 720708, 720709, 720711, 720717, 720719, 720725, 724441, 724443, 724444, 743012, 743014, 743015, 743033, 743035, 743036, 743040, 743041, 743042, 743053, 743054, 743063, 743064, 743065, 743066, 743067, 743069, 743074, 743075, 743077, 743078, 743079, 743080, 743081, 743083, 743084, 743085, 743086, 743091, 743094, 743122, 743126, 743139, 743140, 743238, 743244, 743247, 743255, 743266, 743268, 743269, 743270, 743271, 743272, 743279, 743281, 743344, 743345, 743346, 743347, 743397, 743398, 749009, 749010, 757837, 757839, 757840, 757853, 757855, 757856, 757857, 977599, 977602, 1053175, 1053197, 1079931, 1079932, 1079933, 1079934, 1079935, 1079936, 1079937, 1079938, 1079939, 1079940, 1079941, 1079942, 1079943, 1079944, 1079945, 1079946, 1079947, 1079948, 1079949, 1096323, 1096324, 1097093, 1097094, 1097100, 1125532, 1125533, 1125534, 1125535, 1125536, 1159389, 1159524, 1159550, 1159580, 1159583, 1159606, 1159607, 1171406, 1171407, 1184087, 1224824, 1224825, 1224857, 1224859, 1224863, 1224865, 1224905, 1259251, 1259252, 1259253, 1259255, 1259256, 1259309, 1259310, 1259311, 1259313, 1259318, 1259325, 1259344, 1259355, 1259356, 1259374, 1259389, 1259397, 1259398, 1259406, 1259409, 1259413, 1259415, 1259416, 1259421, 1259422, 1259423, 1296008, 1296009, 1342034, 1342043, 1342050, 1342051, 1342825, 1342826, 1345084, 1345086, 1345199, 1345206, 1346200, 1346378, 1346983, 1346984, 1346985, 1346986, 1346987, 1347041, 1347053, 1347055, 1347056, 1347060, 1347061, 1347062, 1347063, 1347064, 1347065, 1347066, 1347067, 1347068, 1347071, 1347074, 1347075, 1347076, 1347080, 1347082, 1347083, 1347085, 1347086, 1347089, 1347090, 1347091, 1347092, 1347093, 1347094, 1347095, 1347096, 1347097, 1347098, 1347099, 1347100, 1347101, 1347102, 1347103, 1347104, 1347105, 1347106, 1347107, 1347108]\n",
      "[Atom(1, S), Atom(2, O), Atom(3, O), Atom(4, O), Atom(5, O), Atom(6, C), Atom(7, C), Atom(8, C), Atom(9, C), Atom(10, C), Atom(11, C), Atom(12, C), Atom(13, C), Atom(14, C), Atom(15, C), Atom(16, C), Atom(17, C), Atom(18, C), Atom(19, C), Atom(20, C), Atom(21, C), Atom(22, C), Atom(23, H), Atom(24, H), Atom(25, H), Atom(26, H), Atom(27, H), Atom(28, H), Atom(29, H), Atom(30, H), Atom(31, H), Atom(32, H), Atom(33, H), Atom(34, H), Atom(35, H), Atom(36, H)]\n",
      "[Bond(1, 4, 2), Bond(1, 5, 2), Bond(1, 10, 1), Bond(1, 19, 1), Bond(2, 9, 1), Bond(2, 14, 1), Bond(3, 14, 2), Bond(6, 7, 1), Bond(6, 8, 2), Bond(6, 9, 1), Bond(7, 12, 2), Bond(7, 13, 1), Bond(8, 11, 1), Bond(8, 14, 1), Bond(9, 23, 1), Bond(9, 24, 1), Bond(10, 15, 2), Bond(10, 16, 1), Bond(11, 17, 2), Bond(11, 18, 1), Bond(12, 15, 1), Bond(12, 25, 1), Bond(13, 16, 2), Bond(13, 26, 1), Bond(15, 27, 1), Bond(16, 28, 1), Bond(17, 20, 1), Bond(17, 29, 1), Bond(18, 21, 2), Bond(18, 30, 1), Bond(19, 31, 1), Bond(19, 32, 1), Bond(19, 33, 1), Bond(20, 22, 2), Bond(20, 34, 1), Bond(21, 22, 1), Bond(21, 35, 1), Bond(22, 36, 1)]\n",
      "0\n",
      "5090\n",
      "556\n",
      "['S', 'O', 'O', 'O', 'O', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H', 'H']\n",
      "00000371C0783800400000000000000000000000000100000000306000000000000000014000001A04000000000C00A0D802B2098000040A880220D208704200002008100888190000C8082432A0351082300024C00108A90788C8A08E10000000000000002000000000000000000000000000\n",
      "InChI=1S/C17H14O4S/c1-22(19,20)14-9-7-12(8-10-14)15-11-21-17(18)16(15)13-5-3-2-4-6-13/h2-10H,11H2,1H3\n",
      "RZJQGNCSTQAWON-UHFFFAOYSA-N\n",
      "{'id': {'id': {'cid': 5090}}, 'atoms': {'aid': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], 'element': [16, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}, 'bonds': {'aid1': [1, 1, 1, 1, 2, 2, 3, 6, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 15, 16, 17, 17, 18, 18, 19, 19, 19, 20, 20, 21, 21, 22], 'aid2': [4, 5, 10, 19, 9, 14, 14, 7, 8, 9, 12, 13, 11, 14, 23, 24, 15, 16, 17, 18, 15, 25, 16, 26, 27, 28, 20, 29, 21, 30, 31, 32, 33, 22, 34, 22, 35, 36], 'order': [2, 2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1]}, 'coords': [{'type': [1, 5, 255], 'aid': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36], 'conformers': [{'x': [3, 2.5, 4.0878, 2, 4, 3, 3, 3.809, 2.191, 3, 4.7601, 3.866, 2.134, 3.5, 3.866, 2.134, 4.968, 5.5032, 3, 5.919, 6.4543, 6.6622, 1.6246, 1.881, 4.403, 1.597, 4.403, 1.597, 4.5072, 5.3743, 2.38, 3, 3.62, 6.048, 6.915, 7.2518], 'y': [-2.6739, 2.8649, 3.6739, -2.6739, -2.6739, 1.3261, 0.3261, 1.9139, 1.9139, -1.6739, 1.6048, -0.1739, -0.1739, 2.8649, -1.1739, -1.1739, 0.6267, 2.274, -3.6739, 0.3177, 1.965, 0.9868, 2.166, 1.3769, 0.1361, 0.1361, -1.4839, -1.4839, 0.2118, 2.8804, -3.6739, -4.2939, -3.6739, -0.2888, 2.3798, 0.7952], 'style': {'annotation': [8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8], 'aid1': [7, 7, 10, 10, 11, 11, 12, 13, 17, 18, 20, 21], 'aid2': [12, 13, 15, 16, 17, 18, 15, 16, 20, 21, 22, 22]}}]}], 'charge': 0, 'props': [{'urn': {'label': 'Compound', 'name': 'Canonicalized', 'datatype': 5, 'release': '2019.01.04'}, 'value': {'ival': 1}}, {'urn': {'label': 'Compound Complexity', 'datatype': 7, 'implementation': 'E_COMPLEXITY', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'fval': 556}}, {'urn': {'label': 'Count', 'name': 'Hydrogen Bond Acceptor', 'datatype': 5, 'implementation': 'E_NHACCEPTORS', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'ival': 4}}, {'urn': {'label': 'Count', 'name': 'Hydrogen Bond Donor', 'datatype': 5, 'implementation': 'E_NHDONORS', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'ival': 0}}, {'urn': {'label': 'Count', 'name': 'Rotatable Bond', 'datatype': 5, 'implementation': 'E_NROTBONDS', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'ival': 3}}, {'urn': {'label': 'Fingerprint', 'name': 'SubStructure Keys', 'datatype': 16, 'parameters': 'extended 2', 'implementation': 'E_SCREEN', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'binary': '00000371C0783800400000000000000000000000000100000000306000000000000000014000001A04000000000C00A0D802B2098000040A880220D208704200002008100888190000C8082432A0351082300024C00108A90788C8A08E10000000000000002000000000000000000000000000'}}, {'urn': {'label': 'IUPAC Name', 'name': 'Allowed', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-methylsulfonylphenyl)-4-phenyl-2H-furan-5-one'}}, {'urn': {'label': 'IUPAC Name', 'name': 'CAS-like Style', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-methylsulfonylphenyl)-4-phenyl-2H-furan-5-one'}}, {'urn': {'label': 'IUPAC Name', 'name': 'Markup', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-methylsulfonylphenyl)-4-phenyl-2<I>H</I>-furan-5-one'}}, {'urn': {'label': 'IUPAC Name', 'name': 'Preferred', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-methylsulfonylphenyl)-4-phenyl-2H-furan-5-one'}}, {'urn': {'label': 'IUPAC Name', 'name': 'Systematic', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-methylsulfonylphenyl)-4-phenyl-2H-furan-5-one'}}, {'urn': {'label': 'IUPAC Name', 'name': 'Traditional', 'datatype': 1, 'version': '2.6.6', 'software': 'LexiChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': '3-(4-mesylphenyl)-4-phenyl-2H-furan-5-one'}}, {'urn': {'label': 'InChI', 'name': 'Standard', 'datatype': 1, 'version': '1.0.5', 'software': 'InChI', 'source': 'iupac.org', 'release': '2019.06.18'}, 'value': {'sval': 'InChI=1S/C17H14O4S/c1-22(19,20)14-9-7-12(8-10-14)15-11-21-17(18)16(15)13-5-3-2-4-6-13/h2-10H,11H2,1H3'}}, {'urn': {'label': 'InChIKey', 'name': 'Standard', 'datatype': 1, 'version': '1.0.5', 'software': 'InChI', 'source': 'iupac.org', 'release': '2019.06.18'}, 'value': {'sval': 'RZJQGNCSTQAWON-UHFFFAOYSA-N'}}, {'urn': {'label': 'Log P', 'name': 'XLogP3-AA', 'datatype': 7, 'version': '3.0', 'source': 'sioc-ccbg.ac.cn', 'release': '2019.06.18'}, 'value': {'fval': 2.3}}, {'urn': {'label': 'Mass', 'name': 'Exact', 'datatype': 7, 'version': '2.1', 'software': 'PubChem', 'source': 'ncbi.nlm.nih.gov', 'release': '2019.06.18'}, 'value': {'fval': 314.0612801}}, {'urn': {'label': 'Molecular Formula', 'datatype': 1, 'version': '2.1', 'software': 'PubChem', 'source': 'ncbi.nlm.nih.gov', 'release': '2019.06.18'}, 'value': {'sval': 'C17H14O4S'}}, {'urn': {'label': 'Molecular Weight', 'datatype': 7, 'version': '2.1', 'software': 'PubChem', 'source': 'ncbi.nlm.nih.gov', 'release': '2019.06.18'}, 'value': {'fval': 314.4}}, {'urn': {'label': 'SMILES', 'name': 'Canonical', 'datatype': 1, 'version': '2.1.5', 'software': 'OEChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': 'CS(=O)(=O)C1=CC=C(C=C1)C2=C(C(=O)OC2)C3=CC=CC=C3'}}, {'urn': {'label': 'SMILES', 'name': 'Isomeric', 'datatype': 1, 'version': '2.1.5', 'software': 'OEChem', 'source': 'openeye.com', 'release': '2019.06.18'}, 'value': {'sval': 'CS(=O)(=O)C1=CC=C(C=C1)C2=C(C(=O)OC2)C3=CC=CC=C3'}}, {'urn': {'label': 'Topological', 'name': 'Polar Surface Area', 'datatype': 7, 'implementation': 'E_TPSA', 'version': '3.4.6.11', 'software': 'Cactvs', 'source': 'xemistry.com', 'release': '2019.06.18'}, 'value': {'fval': 68.8}}, {'urn': {'label': 'Weight', 'name': 'MonoIsotopic', 'datatype': 7, 'version': '2.1', 'software': 'PubChem', 'source': 'ncbi.nlm.nih.gov', 'release': '2019.06.18'}, 'value': {'fval': 314.0612801}}], 'count': {'heavy_atom': 22, 'atom_chiral': 0, 'atom_chiral_def': 0, 'atom_chiral_undef': 0, 'bond_chiral': 0, 'bond_chiral_def': 0, 'bond_chiral_undef': 0, 'isotope_atom': 0, 'covalent_unit': 1, 'tautomers': -1}}\n",
      "[9792, 535364, 5146347, 7847634, 7980536, 8146414, 8153131, 11341940, 11362123, 11362973, 11364757, 11365535, 11367319, 11368097, 11369881, 11372304, 11372922, 11374381, 11375481, 11376259, 11378046, 11445527, 11484228, 11487525, 11488262, 11490968, 11492446, 11493933, 11528653, 12014954, 14752370, 26612684, 26680170, 26719838, 26748942, 26748943, 29224158, 46386634, 46504787, 47365310, 47810857, 48334605, 48416526, 49665949, 49666006, 49681737, 49846184, 50107491, 50107492, 50351181, 53790447, 56313702, 57322601, 80954391, 85209616, 85789700, 88531867, 92124715, 92307914, 92308366, 92308836, 93166557, 96026514, 99025408, 103183748, 103853356, 104308247, 104829354, 117878918, 118047388, 124638070, 124800139, 126625694, 126679219, 129203714, 131300923, 135021465, 142405238, 143493392, 144075728, 144204983, 152241589, 160839434, 160963878, 162022120, 162175441, 163402579, 163621051, 163686374, 164814986, 169712055, 170507600, 172080255, 173032429, 174007305, 176484203, 178100242, 178126554, 179039461, 184685768, 185995029, 187072250, 198991048, 204395064, 206245182, 223375883, 223454725, 223484388, 223519266, 223660848, 223704396, 223739585, 226395327, 249756017, 249831324, 250103192, 250201939, 251885474, 252050635, 252216222, 252356493, 252401503, 252432990, 252451545, 254760084, 255370591, 255514124, 268735020, 272732594, 276006155, 277309459, 297450281, 307085920, 310279761, 312237327, 312310024, 312603124, 312679142, 312694041, 313056694, 315446122, 315674113, 316579728, 316898247, 316918932, 316921269, 318153778, 318162218, 319063302, 319461151, 319553557, 322059419, 322072152, 333472966, 333473414, 336296463, 336446410, 336954420, 340087793, 340087794, 340087795, 340087796, 340087797, 340088652, 340504273, 341110149, 341136396, 341142195, 341834803, 346441592, 346696625, 347913604, 348813274, 349980057, 354335586, 354914570, 354997978, 355039786, 355047080, 363662859, 363676573, 363709087, 363906915, 363920004, 366308252, 374017450, 375154577, 375174647, 375446836, 375577927, 375586031, 375985229, 376227148, 376301518, 377310682, 377446088, 378135111, 381340185, 381391676, 381930122, 382156840, 383544641, 384385049, 384431654, 384570785, 384571917, 384652288, 385155181, 385782250, 385868950, 386213650, 386618989, 387060516, 387151766, 403766830]\n",
      "['rofecoxib', '162011-90-7', 'Vioxx', 'Ceoxx', 'MK 966', '4-[4-(methylsulfonyl)phenyl]-3-phenylfuran-2(5H)-one', '4-(4-(Methylsulfonyl)phenyl)-3-phenylfuran-2(5H)-one', 'MK 0966', 'MK-0966', '4-[4-(methylsulfonyl)phenyl]-3-phenyl-2(5H)-furanone', 'MK-966', 'MK0966', 'UNII-0QTW8Z7MCR', '3-(4-methylsulfonylphenyl)-4-phenyl-2H-furan-5-one', 'Rofecoxib (Vioxx)', 'Rofecoxib-d5', 'CCRIS 8967', 'HSDB 7262', '3-phenyl-4-[4-(methylsulfonyl)phenyl]-2(5H)-furanone', '0QTW8Z7MCR', 'CHEMBL122', '4-(4-(Methylsulfonyl)phenyl)-3-phenyl-2(5H)-furanone', '3-Phenyl-4-(4-(methylsulfonyl)phenyl))-2(5H)-furanone', 'CHEBI:8887', 'C17H14O4S', 'RZJQGNCSTQAWON-UHFFFAOYSA-N', '4-(p-(Methylsulfonyl)phenyl)-3-phenyl-2(5H)-furanone', '2(5H)-Furanone, 4-[4-(methylsulfonyl)phenyl]-3-phenyl-', 'NCGC00095118-01', '2(5H)-Furanone, 4-(4-(methylsulfonyl)phenyl)-3-phenyl-', 'Vioxx (trademark)', 'SMR000466331', 'Vioxx (TN)', '544684-93-7', 'SR-01000762904', 'rofecoxibum', 'Rofecoxib (JAN/USAN/INN)', 'Rofecoxib [USAN:INN:BAN]', 'rofecoxib-vioxx', '4-(4-methylsulfonylphenyl)-3-phenyl-5H-furan-2-one', 'KS-1107', 'MK 0996', 'PubChem15028', 'Spectrum_000119', 'SpecPlus_000669', 'Spectrum2_000446', 'Spectrum3_001153', 'Spectrum4_000631', 'Spectrum5_001598', 'DSSTox_CID_3567', 'SCHEMBL3050', 'DSSTox_RID_77084', 'DSSTox_GSID_23567', 'BSPBio_002705', 'KBioGR_001242', 'KBioGR_002345', 'KBioSS_000559', 'KBioSS_002348', 'MLS000759440', 'MLS001165770', 'MLS001195623', 'MLS001424113', 'MLS006010091', 'BIDD:GT0399', 'DivK1c_006765', 'SPECTRUM1504235', 'SPBio_000492', '3-(4-methanesulfonylphenyl)-2-phenyl-2-buten-4-olide', 'GTPL2893', 'ZINC7455', 'DTXSID2023567', 'BDBM22369', 'KBio1_001709', 'KBio2_000559', 'KBio2_002345', 'KBio2_003127', 'KBio2_004913', 'KBio2_005695', 'KBio2_007481', 'KBio3_002205', 'KBio3_002825', 'KS-00000XKS', 'AOB6956', 'EX-A708', 'M01AH02', 'TRM-201', 'cMAP_000024', 'HMS1922H11', 'HMS2051G16', 'HMS2089H20', 'HMS2093E04', 'HMS2232G21', 'HMS3371P11', 'HMS3393G16', 'HMS3651F16', 'HMS3713B07', 'HMS3750I17', 'Pharmakon1600-01504235', 'BCP03619', 'EBD34785', 'Tox21_111430', 'ANW-71936', 'CCG-40253', 'NSC720256', 'NSC758705', 's3043', 'STK635144', 'AKOS000280931', 'AB07701', 'CS-0997', 'DB00533', 'MCULE-4806636118', 'NC00132', 'NSC-720256', 'NSC-758705', 'SB19518', 'VA11689', 'NCGC00095118-02', 'NCGC00095118-03', 'NCGC00095118-04', 'NCGC00095118-05', 'NCGC00095118-08', 'AC-28318', 'AK-60971', 'CPD000466331', 'HY-17372', 'LS-70511', 'NCI60_041175', 'SAM001246617', 'SC-17320', 'SBI-0206774.P001', 'AB0012045', 'RT-016235', 'ST2410970', 'CAS-162011-90-7', 'FT-0081390', 'FT-0631192', 'R0206', 'SW219668-1', 'C07590', 'D00568', 'J10420', 'K-5064', 'AB00052090-06', 'AB00052090-08', 'AB00052090_09', 'AB00052090_10', '011R907', 'A810324', 'L000912', 'Q411412', 'Q-201676', 'SR-01000762904-3', 'SR-01000762904-5', 'BRD-K21733600-001-02-6', 'BRD-K21733600-001-06-7', '3-(4-methanesulfonyl-phenyl)-2-phenyl-2-buten-4-olide', '2(5H)-Furanone, 4-[4-(methyl-sulfonyl)phenyl]-3-phenyl-', '3-(Phenyl)-4-(4-(methylsulfonyl)phenyl)-2-(5H)-furanone', '3-Phenyl-4-(4-(Methylsulfonyl)Phenyl)-2-(5H)-Furanone', '4-(4-METHANESULFONYL-PHENYL)-3-PHENYL-5H-FURAN-2-ONE', '4-(4-methanesulfonylphenyl)-3-phenyl-2,5-dihydrofuran-2-one', '4-(4-methylsulfonylphenyl)-3-phenyl-2,5-dihydro-2-furanone', 'Vioxx; 4-[4-(Methylsulfonyl)phenyl]-3-phenylfuran-2(5H)-one', '186912-82-3']\n",
      "68.8\n",
      "2.3\n"
     ]
    }
   ],
   "source": [
    "for attr in dir(c):\n",
    "    if '_' not in attr:\n",
    "        print(eval('c.%s'%attr))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The Zen of Python, by Tim Peters\n",
      "\n",
      "Beautiful is better than ugly.\n",
      "Explicit is better than implicit.\n",
      "Simple is better than complex.\n",
      "Complex is better than complicated.\n",
      "Flat is better than nested.\n",
      "Sparse is better than dense.\n",
      "Readability counts.\n",
      "Special cases aren't special enough to break the rules.\n",
      "Although practicality beats purity.\n",
      "Errors should never pass silently.\n",
      "Unless explicitly silenced.\n",
      "In the face of ambiguity, refuse the temptation to guess.\n",
      "There should be one-- and preferably only one --obvious way to do it.\n",
      "Although that way may not be obvious at first unless you're Dutch.\n",
      "Now is better than never.\n",
      "Although never is often better than *right* now.\n",
      "If the implementation is hard to explain, it's a bad idea.\n",
      "If the implementation is easy to explain, it may be a good idea.\n",
      "Namespaces are one honking great idea -- let's do more of those!\n"
     ]
    }
   ],
   "source": [
    "import this"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\r\n",
      "Requirement already satisfied: pandas in ./miniconda3/envs/py3/lib/python3.7/site-packages (1.0.2)\r\n",
      "Requirement already satisfied: numpy>=1.13.3 in ./miniconda3/envs/py3/lib/python3.7/site-packages (from pandas) (1.18.1)\r\n",
      "Requirement already satisfied: python-dateutil>=2.6.1 in ./miniconda3/envs/py3/lib/python3.7/site-packages (from pandas) (2.8.1)\r\n",
      "Requirement already satisfied: pytz>=2017.2 in ./miniconda3/envs/py3/lib/python3.7/site-packages (from pandas) (2019.3)\r\n",
      "Requirement already satisfied: six>=1.5 in ./miniconda3/envs/py3/lib/python3.7/site-packages (from python-dateutil>=2.6.1->pandas) (1.14.0)\r\n"
     ]
    }
   ],
   "source": [
    "!pip install pandas\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pcp.compounds_to_frame(c, properties=['isomeric_smiles', 'xlogp', 'rotatable_bond_count'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>rotatable_bond_count</th>\n",
       "      <th>xlogp</th>\n",
       "      <th>isomeric_smiles</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>cid</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5090</th>\n",
       "      <td>3</td>\n",
       "      <td>2.3</td>\n",
       "      <td>CS(=O)(=O)C1=CC=C(C=C1)C2=C(C(=O)OC2)C3=CC=CC=C3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      rotatable_bond_count  xlogp  \\\n",
       "cid                                 \n",
       "5090                     3    2.3   \n",
       "\n",
       "                                       isomeric_smiles  \n",
       "cid                                                     \n",
       "5090  CS(=O)(=O)C1=CC=C(C=C1)C2=C(C(=O)OC2)C3=CC=CC=C3  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
